package com.pizza.spring.rmi.impl;

import java.util.ArrayList;

import org.hibernate.Session;
import org.springframework.beans.factory.annotation.Autowired;

import com.pizza.adapter.ZamowienieRow;
import com.pizza.gui.PizzeriaGui;
import com.pizza.spring.rmi.Adres;
import com.pizza.spring.rmi.Produkt;
import com.pizza.spring.rmi.SessionFactoryUtil;
import com.pizza.spring.rmi.User;
import com.pizza.spring.rmi.Zamowienie;

public class ZamowienieServer implements Zamowienie {
	Session session;
	
	@Autowired
	PizzeriaGui pizzeria;
	
	protected ZamowienieServer()  {
		super();
		session = SessionFactoryUtil.getSessionFactory().getCurrentSession();
        session.beginTransaction();
        session.getTransaction().commit();
	}

	@Override
	public ArrayList<Produkt> getAllPizza() {
		session = SessionFactoryUtil.getSessionFactory().getCurrentSession();
        session.beginTransaction();
        ArrayList<Produkt> list = (ArrayList<Produkt>) session.createQuery("from Produkt").list();
        session.getTransaction().commit();
		return list;
	}
	@Override
	public void zamow(User user, Adres adres ,String adresZamowienia,ArrayList<Produkt> produkt) {
		pizzeria.getAdapter().addZamownieRow(user, adres, adresZamowienia, produkt);
			if(pizzeria.getHeight()==500)
			pizzeria.setSize(500, 501);
			else
				pizzeria.setSize(500, 500);
	}
	
	@Override
	public String odpowiedzPrzyjecia(String opis) {
		//przyjete lub nie powod
		//w cliencie tworzymy watek ktory pyta o odpowiedz co 
		//5 sekund  a server w tym czasie decyduje czy przyjac ustawia checkboxa
		return opis;
	}

}
